#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
主题: 迭代器切片
问题: 你想得到一个由迭代器生成的切片对象，但是标准切片操作并不能做到。
提示 : 
    1. islice() 会消耗掉传入的迭代器中的数据。 必须考虑到迭代器是不可逆的这个事实
"""

def recipe1():
    c = count(0)
    #c[10:20] # TypeError
    
    import itertools
    for x in itertools.islice(c, 10, 20):
        print(f"{x = }")

    for y in itertools.islice(c, 5, 10):
        print(f"{y = }")

def count(n):
    while True:
        yield n
        n += 1

def main():
    print('recipe1'.center(20, '*'))
    recipe1() 

if __name__ == '__main__':
    main()              